This won't work, because while you think that your method will effectively be a constant, it could be hidden, the class could be sub-classed, or any number of other items could interfere.
While the compiler could attempt to discern that the return value is a constant, it won't because it also doesn't have the whole picture as classes in a Java project can be compiled at different times (subclasses compiled after their parents, etc.)
Also it is not clearly established what a function as a switch label means. While you might see it as a shorthand for renaming a constant, someone else might expect it to be evaluated each time the switch was entered, while someone else might expect it to be evaluated each time the label was entered, and yet another might expect it to be evaluated each time the switch jumped to that label (which is impossible because you have to evaluate such a label prior to jumping to it.) Since there is no clear consensus, better to leave it out of the language until there is a clear consensus.
And that's not even getting into the assurance that such a method doesn't return a duplicate label (switches don't support multiple labels of the same value).