Объявите список кортежей с условиями слева и перечислениями справа:
val conditions: Seq[(Boolean, Enum)] = List(
condition1 -> ENUM_ELEMENT1,
condition2 -> ENUM_ELEMENT2
)
Затем вы можете просто уменьшить его с помощью collect
:
val result: Seq[String] = conditions.collect{
case (true, v) => v
}
или flatMap
:
val result: Seq[Enum] = conditions.flatMap{
case (true, v) => Some(v)
case _ => None
}