Thanks, I have actually since figured that out and even noted it here:
For dynamically controlling which columns are shown or hidden with scripting, I have since learned that any integer from 0 to 22 can be passed into the addColumn method, and the column added will directly correspond to the order of the columns listed in the popup, even if the table has been rearranged.
What I was working on at the time, and still haven't figured out how to do is altering the table model to accept columns that are not on that dropdown list.