If I have an enum with the cases a,b,c,d is it possible for me to cast the string \"a\" as the enum?
All you need is:
enum Foo: String { case a, b, c, d } let a = Foo(rawValue: "a") assert(a == Foo.a) let