Что здесь может пойти не так? Переписал метод askOperation():
public static Operation askOperation() throws IOException {
        ConsoleHelper.writeMessage("Выберите операцию:");
        for (Operation operation : Operation.values()) {
            StringBuilder askBuilder = new StringBuilder();
            askBuilder.append(operation.ordinal())
                    .append(" - ")
                    .append(operation.getDescription());
            ConsoleHelper.writeMessage(askBuilder.toString());
        }
        int enteredNumber = ConsoleHelper.readInt();
        return Operation.values()[enteredNumber];
    }
И enum Operation:
public enum Operation {
    CREATE("упаковать файлы в архив"),
    ADD("добавить файл в архив"),
    REMOVE("удалить файл из архива"),
    EXTRACT("распаковать архив"),
    CONTENT("просмотреть содержимое архива"),
    EXIT("выход");

    private String description;

    Operation(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }
}
Проблему это не решило. Будем дальше бить в бубен, жалко только, что нет возможности бить в бубен тому кто писал эту задачу. Спойлер (принятое решение):
public static void main(String[] args) throws Exception {
        Operation operation = null;
        do {
            try {
                operation = askOperation();
                CommandExecutor.execute(operation);
            } catch (WrongZipFileException e) {
                ConsoleHelper.writeMessage("Вы не выбрали файл архива или выбрали неверный файл.");
            } catch (Exception e) {
                ConsoleHelper.writeMessage("Произошла ошибка. Проверьте введенные данные.");
            }
        } while (operation != Operation.EXIT);
    }