Зачем высасывать из мухи слона? Используй переменные!
Читаем мануал:
Часть case(x) используется для явного указания значения, где x - ожидаемое значение входной переменной
Соответственно параметр
case должен быть константой, например явно указанным числом, текстом или именем константы, как это реализовано в большинстве языков программирования.
Однако, опробовав только что в качестве параметра переменную (неявно заданное значение), получил неожиданный результат - код работает, а не должен.
Добавьте, пожалуйста в будущую редакцию мануала поправку в описание
switch и пример кода, учитывающий неожиданно обнаруженный бонус.
Теперь есть дополнительное удобство, которое позволит писать сценарии с большим количеством состояний, без ущерба для читабельности.