При решении валидатор не принимал данный вариант. Если посмотреть на нужный вывод задачи:
/**
     * Output:
     * <p/>
     * Available Amount
     * Account Number
     * Bank Name
     * --------------------
     * Available Amount
     * Bank Name
     */
и на массив realOrde {-1, 2, 1, 0} Понял, что при сортировки отображения enum индексы сдвигаются. Использовал такой код:
public static List<Column> getVisibleColumns() {
        List<Column> result = new LinkedList<>();
        for (Integer x : realOrder)
            for (Column y : Column.values()) {
                if (y.isShown()) {
                    if (x == y.ordinal() -1)
                        result.add(y);
                }
            }
        return result;
    }
Вывод соответствовал выводу задачи. Хотел бы узнать ваше мнение почему валидатор не принял... Я думаю, что скорее всего не прошел из-за того, что я не учел сдвиг индексов именно после значения, которое не отображается....