If you are serious about maintaining interoperability with other JVM languages (e.g. Java) then the best option is to write Java enums. Those work transparently from both Scala and Java code, which is more than can be said for scala.Enumeration
or case objects. Let's not have a new enumerations library for every new hobby project on GitHub, if it can be avoided!