From what I've read, Scala sealed traits can be used for ENUM like behavior, but they are not as intuitive to use in Java or Kotlin.
Scala code (and Suzy MV)
package com.example
sealed trait Answer
case object Yes extends Answer
case object No extends Answer
case object Maybe extends Answer
Java code to call above Scala
import com.example.Yes$;
Yes$ myAnswer = Yes$.MODULE$;
How do you call this in Kotlin?