I don't think you need those switch defaults with the sealed types. I didn't check with a compiler, but I think those are unnecessary.
The switches with defaults are both switching over a String with only literal cases. That can't be exhaustive without a default, and switch expressions must be exhaustive.
The switches with defaults are both switching over a String with only literal cases. That can't be exhaustive without a default, and switch expressions must be exhaustive.