You guys ought to create .hide(), .show(), etc, or similar methods on your client-side GridColumn object. In that way, users will be able to get a reference to a particular column by UniqueName using the tableView method getColumnByUniqueName and perform actions, like hiding. As it stands, in order to hide a column, one must use the hideColumn method of the TableView object and this expects an index argument. Referencing grid column indexes leads to really fragile code since grid columns can be inserted/removed all the time and one might not think to look at some obscure javascript that depends on the order of columns.
You could also add a get_index() method to the GridColumn which would facilitate obtaining the index without hard-coding it.