Como combinar o tipo genérico de scala?

Existe alguma maneira de combinar apenas com o tipo genérico passado na função? Eu gostaria de fazer:

def getValue[T](cursor: Cursor, columnName: String): T = {
    val index = cursor.getColumnIndex(columnName)
    T match {
        case String => cursor.getString(index)
        case Int => cursor.getInteger(index)
 }

Eu pensei em algo comoclassOf outypeOf, mas nenhum deles é aceitável para apenas tipos, mas objetos.

Minha ideia era também criar algum objeto do tipoT e, em seguida, verifique seu tipo, mas acho que pode haver uma solução melhor.

questionAnswers(1)

yourAnswerToTheQuestion