Enums define a fixed set of instances of one type. Sealed classes define a restricted class hierarchy where each subclass can carry different state. Both enable exhaustive when, but sealed classes are more flexible for modeling complex variants.