Enumy definiują stały zestaw instancji jednego typu. Sealed class definiuje zamkniętą hierarchię, w której każda podklasa może mieć inny stan. Oba wspierają wyczerpujące when, ale sealed class jest bardziej elastyczna do modelowania złożonych wariantów.