 
     public var rawValue: String {
         switch self {
-        case whenUnlocked:
+        case .whenUnlocked:
             return String(kSecAttrAccessibleWhenUnlocked)
-        case afterFirstUnlock:
+        case .afterFirstUnlock:
             return String(kSecAttrAccessibleAfterFirstUnlock)
-        case always:
+        case .always:
             return String(kSecAttrAccessibleAlways)
-        case whenPasscodeSetThisDeviceOnly:
+        case .whenPasscodeSetThisDeviceOnly:
             if #available(OSX 10.10, *) {
                 return String(kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly)
             } else {
                 fatalError("'Accessibility.WhenPasscodeSetThisDeviceOnly' is not available on this version of OS.")
             }
-        case whenUnlockedThisDeviceOnly:
+        case .whenUnlockedThisDeviceOnly:
             return String(kSecAttrAccessibleWhenUnlockedThisDeviceOnly)
-        case afterFirstUnlockThisDeviceOnly:
+        case .afterFirstUnlockThisDeviceOnly:
             return String(kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly)
-        case alwaysThisDeviceOnly:
+        case .alwaysThisDeviceOnly:
             return String(kSecAttrAccessibleAlwaysThisDeviceOnly)
         }
     }
     
     public var description : String {
         switch self {
-        case whenUnlocked:
+        case .whenUnlocked:
             return "WhenUnlocked"
-        case afterFirstUnlock:
+        case .afterFirstUnlock:
             return "AfterFirstUnlock"
-        case always:
+        case .always:
             return "Always"
-        case whenPasscodeSetThisDeviceOnly:
+        case .whenPasscodeSetThisDeviceOnly:
             return "WhenPasscodeSetThisDeviceOnly"
-        case whenUnlockedThisDeviceOnly:
+        case .whenUnlockedThisDeviceOnly:
             return "WhenUnlockedThisDeviceOnly"
-        case afterFirstUnlockThisDeviceOnly:
+        case .afterFirstUnlockThisDeviceOnly:
             return "AfterFirstUnlockThisDeviceOnly"
-        case alwaysThisDeviceOnly:
+        case .alwaysThisDeviceOnly:
             return "AlwaysThisDeviceOnly"
         }
     }

    public init?(rawValue: String) {
        switch rawValue {
        case String(kSecAttrAuthenticationTypeNTLM):
            self = ntlm
        case String(kSecAttrAuthenticationTypeMSN):
            self = msn
        case String(kSecAttrAuthenticationTypeDPA):
            self = dpa
        case String(kSecAttrAuthenticationTypeRPA):
            self = rpa
        case String(kSecAttrAuthenticationTypeHTTPBasic):
            self = httpBasic
        case String(kSecAttrAuthenticationTypeHTTPDigest):
            self = httpDigest
        case String(kSecAttrAuthenticationTypeHTMLForm):
            self = htmlForm
        case String(kSecAttrAuthenticationTypeDefault):
            self = `default`
        default:
            return nil
        }

    
    public var rawValue: String {
        switch self {
        case .ntlm:
            return String(kSecAttrAuthenticationTypeNTLM)
        case .msn:
            return String(kSecAttrAuthenticationTypeMSN)
        case .dpa:
            return String(kSecAttrAuthenticationTypeDPA)
        case .rpa:
            return String(kSecAttrAuthenticationTypeRPA)
        case .httpBasic:
            return String(kSecAttrAuthenticationTypeHTTPBasic)
        case .httpDigest:
            return String(kSecAttrAuthenticationTypeHTTPDigest)
        case .htmlForm:
            return String(kSecAttrAuthenticationTypeHTMLForm)
        default:
            return String(kSecAttrAuthenticationTypeDefault)
