orangy
enum class Event(val displayName: String) {
IMPRESSION("impression"),
CLICK_THROUGH("clickThrough");
companion object {
private val nameToEnum by lazy { values().associateBy { it.displayName } }
fun fromName(name: String): Event {
return nameToEnum[name] ?: throw IllegalArgumentException("Enum value $name was not found")
}
}
}
Good enough?