> Что интересно - такое поведение компилятора наблюдается только для > enum с двумя константами; при добавлении третьей константы проверки на > недопустимое для enum значение не исчезают. Скорее всего, там switch заменяется на просто if else.