Yes, I also started with an Enum, then I switched to the current implementation for the reasons Martin said. I've also found that Spring MVC has adopted a similar solution: https://github.com/SpringSource/spring-framework/blob/master/spring-web/src/main/java/org/springframework/http/MediaType.java?source=cc