¿Cómo creo una enumeración de una cadena en Kotlin?

Tengo una enumeración con algunas instancias Foo y Bar . Si tengo una cadena "Foo" , ¿cómo puedo crear una instancia de Foo enum a partir de eso? En C # sería Enum.Parse(...) , ¿hay un equivalente en Kotlin?

Actualmente, lo mejor que he encontrado es crear una fábrica que active todas las cadenas posibles, pero que es propensa a errores y funciona mal para enumeraciones grandes.