Why I can't define enumeration with raw values like this? enum Edges : (Double, Double) { case TopLeft = (0.0, 0.0) case TopRight = (1.0, 0.0) case BottomLeft = (0.0, 1.0) case BottomRight = (1.0, 1.0) } Because : Raw values can be strings, characters, or any of the integer or floating-point number types. But there is an alternative solution for you: enum Edges { case TopLeft case TopRight case BottomLeft case BottomRight func getTuple() -> (Double, Double) { switch self { case .TopLeft: return (0.0, 0.0) case .TopRight: return (1.0, 0.0) case .BottomLeft: return (0.0, 1.0) case .BottomRight: