The warning is a tool thing, we humans know better. Anyway if you makes you feel better the style guide states:

"For selectors, default selections should only be omitted if you explicitly want catalog compilation to fail when no value matches."

Thus we are doing the right thing logically and by the style guide.

Having said that, if you want a nicer solution its much better to have earlier validation TBH, by either using validate_* functions or the kwalify module or something similar. At least the error messages are geared towards validating input and user oriented unlike a case/selector failure message.