О тут
https://learn.javascript.ru/switch
написано что
В case могут быть любые выражения, в том числе включающие в себя переменные и функции.
я этот пример переделывал с php там все именно так и работает.
На if то я переделал и заработало но почему тут в яваскрипте не работало через switch я так и не понял.