diff --git a/amazonka-directconnect.cabal b/amazonka-directconnect.cabal
--- a/amazonka-directconnect.cabal
+++ b/amazonka-directconnect.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-directconnect
-version:               0.0.0
+version:               0.0.1
 synopsis:              Amazon Direct Connect SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -62,5 +62,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core
-        , base          >= 4.7 && < 5
+          amazonka-core == 0.0.1.*
+        , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs b/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/AllocateConnectionOnInterconnect.hs
@@ -125,13 +125,13 @@
     { _acoirBandwidth       :: Maybe Text
     , _acoirConnectionId    :: Maybe Text
     , _acoirConnectionName  :: Maybe Text
-    , _acoirConnectionState :: Maybe Text
+    , _acoirConnectionState :: Maybe ConnectionState
     , _acoirLocation        :: Maybe Text
     , _acoirOwnerAccount    :: Maybe Text
     , _acoirPartnerName     :: Maybe Text
     , _acoirRegion          :: Maybe Text
     , _acoirVlan            :: Maybe Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'AllocateConnectionOnInterconnectResponse' constructor.
 --
@@ -143,7 +143,7 @@
 --
 -- * 'acoirConnectionName' @::@ 'Maybe' 'Text'
 --
--- * 'acoirConnectionState' @::@ 'Maybe' 'Text'
+-- * 'acoirConnectionState' @::@ 'Maybe' 'ConnectionState'
 --
 -- * 'acoirLocation' @::@ 'Maybe' 'Text'
 --
@@ -181,7 +181,7 @@
 acoirConnectionName =
     lens _acoirConnectionName (\s a -> s { _acoirConnectionName = a })
 
-acoirConnectionState :: Lens' AllocateConnectionOnInterconnectResponse (Maybe Text)
+acoirConnectionState :: Lens' AllocateConnectionOnInterconnectResponse (Maybe ConnectionState)
 acoirConnectionState =
     lens _acoirConnectionState (\s a -> s { _acoirConnectionState = a })
 
diff --git a/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs b/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/AllocatePrivateVirtualInterface.hs
@@ -123,7 +123,7 @@
     , _apvirVirtualGatewayId      :: Maybe Text
     , _apvirVirtualInterfaceId    :: Maybe Text
     , _apvirVirtualInterfaceName  :: Maybe Text
-    , _apvirVirtualInterfaceState :: Maybe Text
+    , _apvirVirtualInterfaceState :: Maybe VirtualInterfaceState
     , _apvirVirtualInterfaceType  :: Maybe Text
     , _apvirVlan                  :: Maybe Int
     } deriving (Eq, Show)
@@ -156,7 +156,7 @@
 --
 -- * 'apvirVirtualInterfaceName' @::@ 'Maybe' 'Text'
 --
--- * 'apvirVirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'apvirVirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 -- * 'apvirVirtualInterfaceType' @::@ 'Maybe' 'Text'
 --
@@ -231,7 +231,7 @@
     lens _apvirVirtualInterfaceName
         (\s a -> s { _apvirVirtualInterfaceName = a })
 
-apvirVirtualInterfaceState :: Lens' AllocatePrivateVirtualInterfaceResponse (Maybe Text)
+apvirVirtualInterfaceState :: Lens' AllocatePrivateVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 apvirVirtualInterfaceState =
     lens _apvirVirtualInterfaceState
         (\s a -> s { _apvirVirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs b/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/AllocatePublicVirtualInterface.hs
@@ -125,7 +125,7 @@
     , _apvir1VirtualGatewayId      :: Maybe Text
     , _apvir1VirtualInterfaceId    :: Maybe Text
     , _apvir1VirtualInterfaceName  :: Maybe Text
-    , _apvir1VirtualInterfaceState :: Maybe Text
+    , _apvir1VirtualInterfaceState :: Maybe VirtualInterfaceState
     , _apvir1VirtualInterfaceType  :: Maybe Text
     , _apvir1Vlan                  :: Maybe Int
     } deriving (Eq, Show)
@@ -158,7 +158,7 @@
 --
 -- * 'apvir1VirtualInterfaceName' @::@ 'Maybe' 'Text'
 --
--- * 'apvir1VirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'apvir1VirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 -- * 'apvir1VirtualInterfaceType' @::@ 'Maybe' 'Text'
 --
@@ -234,7 +234,7 @@
     lens _apvir1VirtualInterfaceName
         (\s a -> s { _apvir1VirtualInterfaceName = a })
 
-apvir1VirtualInterfaceState :: Lens' AllocatePublicVirtualInterfaceResponse (Maybe Text)
+apvir1VirtualInterfaceState :: Lens' AllocatePublicVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 apvir1VirtualInterfaceState =
     lens _apvir1VirtualInterfaceState
         (\s a -> s { _apvir1VirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/ConfirmConnection.hs b/gen/Network/AWS/DirectConnect/ConfirmConnection.hs
--- a/gen/Network/AWS/DirectConnect/ConfirmConnection.hs
+++ b/gen/Network/AWS/DirectConnect/ConfirmConnection.hs
@@ -68,21 +68,21 @@
 ccConnectionId = lens _ccConnectionId (\s a -> s { _ccConnectionId = a })
 
 newtype ConfirmConnectionResponse = ConfirmConnectionResponse
-    { _ccr1ConnectionState :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    { _ccr1ConnectionState :: Maybe ConnectionState
+    } deriving (Eq, Show)
 
 -- | 'ConfirmConnectionResponse' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'ccr1ConnectionState' @::@ 'Maybe' 'Text'
+-- * 'ccr1ConnectionState' @::@ 'Maybe' 'ConnectionState'
 --
 confirmConnectionResponse :: ConfirmConnectionResponse
 confirmConnectionResponse = ConfirmConnectionResponse
     { _ccr1ConnectionState = Nothing
     }
 
-ccr1ConnectionState :: Lens' ConfirmConnectionResponse (Maybe Text)
+ccr1ConnectionState :: Lens' ConfirmConnectionResponse (Maybe ConnectionState)
 ccr1ConnectionState =
     lens _ccr1ConnectionState (\s a -> s { _ccr1ConnectionState = a })
 
diff --git a/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs b/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/ConfirmPrivateVirtualInterface.hs
@@ -83,21 +83,21 @@
     lens _cpviVirtualInterfaceId (\s a -> s { _cpviVirtualInterfaceId = a })
 
 newtype ConfirmPrivateVirtualInterfaceResponse = ConfirmPrivateVirtualInterfaceResponse
-    { _cpvir1VirtualInterfaceState :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    { _cpvir1VirtualInterfaceState :: Maybe VirtualInterfaceState
+    } deriving (Eq, Show)
 
 -- | 'ConfirmPrivateVirtualInterfaceResponse' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'cpvir1VirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'cpvir1VirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 confirmPrivateVirtualInterfaceResponse :: ConfirmPrivateVirtualInterfaceResponse
 confirmPrivateVirtualInterfaceResponse = ConfirmPrivateVirtualInterfaceResponse
     { _cpvir1VirtualInterfaceState = Nothing
     }
 
-cpvir1VirtualInterfaceState :: Lens' ConfirmPrivateVirtualInterfaceResponse (Maybe Text)
+cpvir1VirtualInterfaceState :: Lens' ConfirmPrivateVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 cpvir1VirtualInterfaceState =
     lens _cpvir1VirtualInterfaceState
         (\s a -> s { _cpvir1VirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs b/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/ConfirmPublicVirtualInterface.hs
@@ -68,21 +68,21 @@
     lens _cpvi1VirtualInterfaceId (\s a -> s { _cpvi1VirtualInterfaceId = a })
 
 newtype ConfirmPublicVirtualInterfaceResponse = ConfirmPublicVirtualInterfaceResponse
-    { _cpvir3VirtualInterfaceState :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    { _cpvir3VirtualInterfaceState :: Maybe VirtualInterfaceState
+    } deriving (Eq, Show)
 
 -- | 'ConfirmPublicVirtualInterfaceResponse' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'cpvir3VirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'cpvir3VirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 confirmPublicVirtualInterfaceResponse :: ConfirmPublicVirtualInterfaceResponse
 confirmPublicVirtualInterfaceResponse = ConfirmPublicVirtualInterfaceResponse
     { _cpvir3VirtualInterfaceState = Nothing
     }
 
-cpvir3VirtualInterfaceState :: Lens' ConfirmPublicVirtualInterfaceResponse (Maybe Text)
+cpvir3VirtualInterfaceState :: Lens' ConfirmPublicVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 cpvir3VirtualInterfaceState =
     lens _cpvir3VirtualInterfaceState
         (\s a -> s { _cpvir3VirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/CreateConnection.hs b/gen/Network/AWS/DirectConnect/CreateConnection.hs
--- a/gen/Network/AWS/DirectConnect/CreateConnection.hs
+++ b/gen/Network/AWS/DirectConnect/CreateConnection.hs
@@ -102,13 +102,13 @@
     { _ccrBandwidth       :: Maybe Text
     , _ccrConnectionId    :: Maybe Text
     , _ccrConnectionName  :: Maybe Text
-    , _ccrConnectionState :: Maybe Text
+    , _ccrConnectionState :: Maybe ConnectionState
     , _ccrLocation        :: Maybe Text
     , _ccrOwnerAccount    :: Maybe Text
     , _ccrPartnerName     :: Maybe Text
     , _ccrRegion          :: Maybe Text
     , _ccrVlan            :: Maybe Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'CreateConnectionResponse' constructor.
 --
@@ -120,7 +120,7 @@
 --
 -- * 'ccrConnectionName' @::@ 'Maybe' 'Text'
 --
--- * 'ccrConnectionState' @::@ 'Maybe' 'Text'
+-- * 'ccrConnectionState' @::@ 'Maybe' 'ConnectionState'
 --
 -- * 'ccrLocation' @::@ 'Maybe' 'Text'
 --
@@ -157,7 +157,7 @@
 ccrConnectionName =
     lens _ccrConnectionName (\s a -> s { _ccrConnectionName = a })
 
-ccrConnectionState :: Lens' CreateConnectionResponse (Maybe Text)
+ccrConnectionState :: Lens' CreateConnectionResponse (Maybe ConnectionState)
 ccrConnectionState =
     lens _ccrConnectionState (\s a -> s { _ccrConnectionState = a })
 
diff --git a/gen/Network/AWS/DirectConnect/CreateInterconnect.hs b/gen/Network/AWS/DirectConnect/CreateInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/CreateInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/CreateInterconnect.hs
@@ -109,10 +109,10 @@
     { _cirBandwidth         :: Maybe Text
     , _cirInterconnectId    :: Maybe Text
     , _cirInterconnectName  :: Maybe Text
-    , _cirInterconnectState :: Maybe Text
+    , _cirInterconnectState :: Maybe InterconnectState
     , _cirLocation          :: Maybe Text
     , _cirRegion            :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'CreateInterconnectResponse' constructor.
 --
@@ -124,7 +124,7 @@
 --
 -- * 'cirInterconnectName' @::@ 'Maybe' 'Text'
 --
--- * 'cirInterconnectState' @::@ 'Maybe' 'Text'
+-- * 'cirInterconnectState' @::@ 'Maybe' 'InterconnectState'
 --
 -- * 'cirLocation' @::@ 'Maybe' 'Text'
 --
@@ -151,7 +151,7 @@
 cirInterconnectName =
     lens _cirInterconnectName (\s a -> s { _cirInterconnectName = a })
 
-cirInterconnectState :: Lens' CreateInterconnectResponse (Maybe Text)
+cirInterconnectState :: Lens' CreateInterconnectResponse (Maybe InterconnectState)
 cirInterconnectState =
     lens _cirInterconnectState (\s a -> s { _cirInterconnectState = a })
 
diff --git a/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs b/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/CreatePrivateVirtualInterface.hs
@@ -107,7 +107,7 @@
     , _cpvir2VirtualGatewayId      :: Maybe Text
     , _cpvir2VirtualInterfaceId    :: Maybe Text
     , _cpvir2VirtualInterfaceName  :: Maybe Text
-    , _cpvir2VirtualInterfaceState :: Maybe Text
+    , _cpvir2VirtualInterfaceState :: Maybe VirtualInterfaceState
     , _cpvir2VirtualInterfaceType  :: Maybe Text
     , _cpvir2Vlan                  :: Maybe Int
     } deriving (Eq, Show)
@@ -140,7 +140,7 @@
 --
 -- * 'cpvir2VirtualInterfaceName' @::@ 'Maybe' 'Text'
 --
--- * 'cpvir2VirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'cpvir2VirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 -- * 'cpvir2VirtualInterfaceType' @::@ 'Maybe' 'Text'
 --
@@ -216,7 +216,7 @@
     lens _cpvir2VirtualInterfaceName
         (\s a -> s { _cpvir2VirtualInterfaceName = a })
 
-cpvir2VirtualInterfaceState :: Lens' CreatePrivateVirtualInterfaceResponse (Maybe Text)
+cpvir2VirtualInterfaceState :: Lens' CreatePrivateVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 cpvir2VirtualInterfaceState =
     lens _cpvir2VirtualInterfaceState
         (\s a -> s { _cpvir2VirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs b/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/CreatePublicVirtualInterface.hs
@@ -107,7 +107,7 @@
     , _cpvirVirtualGatewayId      :: Maybe Text
     , _cpvirVirtualInterfaceId    :: Maybe Text
     , _cpvirVirtualInterfaceName  :: Maybe Text
-    , _cpvirVirtualInterfaceState :: Maybe Text
+    , _cpvirVirtualInterfaceState :: Maybe VirtualInterfaceState
     , _cpvirVirtualInterfaceType  :: Maybe Text
     , _cpvirVlan                  :: Maybe Int
     } deriving (Eq, Show)
@@ -140,7 +140,7 @@
 --
 -- * 'cpvirVirtualInterfaceName' @::@ 'Maybe' 'Text'
 --
--- * 'cpvirVirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'cpvirVirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 -- * 'cpvirVirtualInterfaceType' @::@ 'Maybe' 'Text'
 --
@@ -215,7 +215,7 @@
     lens _cpvirVirtualInterfaceName
         (\s a -> s { _cpvirVirtualInterfaceName = a })
 
-cpvirVirtualInterfaceState :: Lens' CreatePublicVirtualInterfaceResponse (Maybe Text)
+cpvirVirtualInterfaceState :: Lens' CreatePublicVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 cpvirVirtualInterfaceState =
     lens _cpvirVirtualInterfaceState
         (\s a -> s { _cpvirVirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/DeleteConnection.hs b/gen/Network/AWS/DirectConnect/DeleteConnection.hs
--- a/gen/Network/AWS/DirectConnect/DeleteConnection.hs
+++ b/gen/Network/AWS/DirectConnect/DeleteConnection.hs
@@ -79,13 +79,13 @@
     { _dcrBandwidth       :: Maybe Text
     , _dcrConnectionId    :: Maybe Text
     , _dcrConnectionName  :: Maybe Text
-    , _dcrConnectionState :: Maybe Text
+    , _dcrConnectionState :: Maybe ConnectionState
     , _dcrLocation        :: Maybe Text
     , _dcrOwnerAccount    :: Maybe Text
     , _dcrPartnerName     :: Maybe Text
     , _dcrRegion          :: Maybe Text
     , _dcrVlan            :: Maybe Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'DeleteConnectionResponse' constructor.
 --
@@ -97,7 +97,7 @@
 --
 -- * 'dcrConnectionName' @::@ 'Maybe' 'Text'
 --
--- * 'dcrConnectionState' @::@ 'Maybe' 'Text'
+-- * 'dcrConnectionState' @::@ 'Maybe' 'ConnectionState'
 --
 -- * 'dcrLocation' @::@ 'Maybe' 'Text'
 --
@@ -134,7 +134,7 @@
 dcrConnectionName =
     lens _dcrConnectionName (\s a -> s { _dcrConnectionName = a })
 
-dcrConnectionState :: Lens' DeleteConnectionResponse (Maybe Text)
+dcrConnectionState :: Lens' DeleteConnectionResponse (Maybe ConnectionState)
 dcrConnectionState =
     lens _dcrConnectionState (\s a -> s { _dcrConnectionState = a })
 
diff --git a/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs b/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs
--- a/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs
+++ b/gen/Network/AWS/DirectConnect/DeleteInterconnect.hs
@@ -66,21 +66,21 @@
     lens _di1InterconnectId (\s a -> s { _di1InterconnectId = a })
 
 newtype DeleteInterconnectResponse = DeleteInterconnectResponse
-    { _dirInterconnectState :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    { _dirInterconnectState :: Maybe InterconnectState
+    } deriving (Eq, Show)
 
 -- | 'DeleteInterconnectResponse' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'dirInterconnectState' @::@ 'Maybe' 'Text'
+-- * 'dirInterconnectState' @::@ 'Maybe' 'InterconnectState'
 --
 deleteInterconnectResponse :: DeleteInterconnectResponse
 deleteInterconnectResponse = DeleteInterconnectResponse
     { _dirInterconnectState = Nothing
     }
 
-dirInterconnectState :: Lens' DeleteInterconnectResponse (Maybe Text)
+dirInterconnectState :: Lens' DeleteInterconnectResponse (Maybe InterconnectState)
 dirInterconnectState =
     lens _dirInterconnectState (\s a -> s { _dirInterconnectState = a })
 
diff --git a/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs b/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs
--- a/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs
+++ b/gen/Network/AWS/DirectConnect/DeleteVirtualInterface.hs
@@ -66,21 +66,21 @@
     lens _dvi1VirtualInterfaceId (\s a -> s { _dvi1VirtualInterfaceId = a })
 
 newtype DeleteVirtualInterfaceResponse = DeleteVirtualInterfaceResponse
-    { _dvirVirtualInterfaceState :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    { _dvirVirtualInterfaceState :: Maybe VirtualInterfaceState
+    } deriving (Eq, Show)
 
 -- | 'DeleteVirtualInterfaceResponse' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'dvirVirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'dvirVirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 deleteVirtualInterfaceResponse :: DeleteVirtualInterfaceResponse
 deleteVirtualInterfaceResponse = DeleteVirtualInterfaceResponse
     { _dvirVirtualInterfaceState = Nothing
     }
 
-dvirVirtualInterfaceState :: Lens' DeleteVirtualInterfaceResponse (Maybe Text)
+dvirVirtualInterfaceState :: Lens' DeleteVirtualInterfaceResponse (Maybe VirtualInterfaceState)
 dvirVirtualInterfaceState =
     lens _dvirVirtualInterfaceState
         (\s a -> s { _dvirVirtualInterfaceState = a })
diff --git a/gen/Network/AWS/DirectConnect/Types.hs b/gen/Network/AWS/DirectConnect/Types.hs
--- a/gen/Network/AWS/DirectConnect/Types.hs
+++ b/gen/Network/AWS/DirectConnect/Types.hs
@@ -181,7 +181,7 @@
     , _viVirtualGatewayId      :: Maybe Text
     , _viVirtualInterfaceId    :: Maybe Text
     , _viVirtualInterfaceName  :: Maybe Text
-    , _viVirtualInterfaceState :: Maybe Text
+    , _viVirtualInterfaceState :: Maybe VirtualInterfaceState
     , _viVirtualInterfaceType  :: Maybe Text
     , _viVlan                  :: Maybe Int
     } deriving (Eq, Show)
@@ -214,7 +214,7 @@
 --
 -- * 'viVirtualInterfaceName' @::@ 'Maybe' 'Text'
 --
--- * 'viVirtualInterfaceState' @::@ 'Maybe' 'Text'
+-- * 'viVirtualInterfaceState' @::@ 'Maybe' 'VirtualInterfaceState'
 --
 -- * 'viVirtualInterfaceType' @::@ 'Maybe' 'Text'
 --
@@ -283,7 +283,7 @@
 viVirtualInterfaceName =
     lens _viVirtualInterfaceName (\s a -> s { _viVirtualInterfaceName = a })
 
-viVirtualInterfaceState :: Lens' VirtualInterface (Maybe Text)
+viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)
 viVirtualInterfaceState =
     lens _viVirtualInterfaceState (\s a -> s { _viVirtualInterfaceState = a })
 
@@ -514,6 +514,10 @@
         Rejected   -> "rejected"
         Verifying  -> "verifying"
 
+instance ToByteString VirtualInterfaceState
+instance ToHeader     VirtualInterfaceState
+instance ToQuery      VirtualInterfaceState
+
 instance FromJSON VirtualInterfaceState where
     parseJSON = parseJSONText "VirtualInterfaceState"
 
@@ -524,13 +528,13 @@
     { _cBandwidth       :: Maybe Text
     , _cConnectionId    :: Maybe Text
     , _cConnectionName  :: Maybe Text
-    , _cConnectionState :: Maybe Text
+    , _cConnectionState :: Maybe ConnectionState
     , _cLocation        :: Maybe Text
     , _cOwnerAccount    :: Maybe Text
     , _cPartnerName     :: Maybe Text
     , _cRegion          :: Maybe Text
     , _cVlan            :: Maybe Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'Connection' constructor.
 --
@@ -542,7 +546,7 @@
 --
 -- * 'cConnectionName' @::@ 'Maybe' 'Text'
 --
--- * 'cConnectionState' @::@ 'Maybe' 'Text'
+-- * 'cConnectionState' @::@ 'Maybe' 'ConnectionState'
 --
 -- * 'cLocation' @::@ 'Maybe' 'Text'
 --
@@ -578,7 +582,7 @@
 cConnectionName :: Lens' Connection (Maybe Text)
 cConnectionName = lens _cConnectionName (\s a -> s { _cConnectionName = a })
 
-cConnectionState :: Lens' Connection (Maybe Text)
+cConnectionState :: Lens' Connection (Maybe ConnectionState)
 cConnectionState = lens _cConnectionState (\s a -> s { _cConnectionState = a })
 
 cLocation :: Lens' Connection (Maybe Text)
@@ -717,10 +721,10 @@
     { _iBandwidth         :: Maybe Text
     , _iInterconnectId    :: Maybe Text
     , _iInterconnectName  :: Maybe Text
-    , _iInterconnectState :: Maybe Text
+    , _iInterconnectState :: Maybe InterconnectState
     , _iLocation          :: Maybe Text
     , _iRegion            :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'Interconnect' constructor.
 --
@@ -732,7 +736,7 @@
 --
 -- * 'iInterconnectName' @::@ 'Maybe' 'Text'
 --
--- * 'iInterconnectState' @::@ 'Maybe' 'Text'
+-- * 'iInterconnectState' @::@ 'Maybe' 'InterconnectState'
 --
 -- * 'iLocation' @::@ 'Maybe' 'Text'
 --
@@ -758,7 +762,7 @@
 iInterconnectName =
     lens _iInterconnectName (\s a -> s { _iInterconnectName = a })
 
-iInterconnectState :: Lens' Interconnect (Maybe Text)
+iInterconnectState :: Lens' Interconnect (Maybe InterconnectState)
 iInterconnectState =
     lens _iInterconnectState (\s a -> s { _iInterconnectState = a })
 
@@ -815,6 +819,10 @@
         ISPending   -> "pending"
         ISRequested -> "requested"
 
+instance ToByteString InterconnectState
+instance ToHeader     InterconnectState
+instance ToQuery      InterconnectState
+
 instance FromJSON InterconnectState where
     parseJSON = parseJSONText "InterconnectState"
 
@@ -1037,6 +1045,10 @@
         CSPending   -> "pending"
         CSRejected  -> "rejected"
         CSRequested -> "requested"
+
+instance ToByteString ConnectionState
+instance ToHeader     ConnectionState
+instance ToQuery      ConnectionState
 
 instance FromJSON ConnectionState where
     parseJSON = parseJSONText "ConnectionState"
