Let's take a look at the issues that enums have in Scala 2 and whether we found the Holy Grail with the introduction of Scala 3.

Enums are one of the language features that Scala 2 has been infamous for. The sole fact that there’s a number of approaches to implement enum-like behavior is already a warning light. Then, no matter which approach you choose - the built-in Enumeration, ADTs or an external library like Enumeratum - all of them have some drawbacks. Scala 3 has promised a revolution in the area of enums. In this talk we’re going to look at the issues that enums have in Scala 2 and whether we found the Holy Grail with the introduction of Scala 3.
I'll share a handful of techniques that can help you avoid runtime errors and shift them to the realm of compile time
A sneak-peek of the "FEDA: Powered by Scala 3" book.
Learn about opaque types and add this new tool to your modelling toolbox!