why not:

case s: String => available.find(_.toString == s) match { case Some(t) => t; case None => selectOne(...) }