I'm not sure how I'm supposed to be implementing the hide() method. The configureColumns() method already marks all hidden columns with "-1" in realOrder[]. In fact, I made use of this fact in the getVisibleColumns() method, and that part is correct. Edit: never mind, misread the main() method and it was throwing me off.
public void hide() {
    realOrder[this.ordinal()] = -1;
}