diff --git a/amazonka-cloudsearch.cabal b/amazonka-cloudsearch.cabal
--- a/amazonka-cloudsearch.cabal
+++ b/amazonka-cloudsearch.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudsearch
-version:               0.0.0
+version:               0.0.1
 synopsis:              Amazon CloudSearch SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -65,5 +65,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/CloudSearch/Types.hs b/gen/Network/AWS/CloudSearch/Types.hs
--- a/gen/Network/AWS/CloudSearch/Types.hs
+++ b/gen/Network/AWS/CloudSearch/Types.hs
@@ -482,16 +482,16 @@
         ]
 
 data DocumentSuggesterOptions = DocumentSuggesterOptions
-    { _dsoFuzzyMatching  :: Maybe Text
+    { _dsoFuzzyMatching  :: Maybe SuggesterFuzzyMatching
     , _dsoSortExpression :: Maybe Text
     , _dsoSourceField    :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'DocumentSuggesterOptions' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'dsoFuzzyMatching' @::@ 'Maybe' 'Text'
+-- * 'dsoFuzzyMatching' @::@ 'Maybe' 'SuggesterFuzzyMatching'
 --
 -- * 'dsoSortExpression' @::@ 'Maybe' 'Text'
 --
@@ -510,7 +510,7 @@
 -- exact prefix. With low, suggestions must differ from the specified string
 -- by no more than one character. With high, suggestions can differ by up to
 -- two characters. The default is none.
-dsoFuzzyMatching :: Lens' DocumentSuggesterOptions (Maybe Text)
+dsoFuzzyMatching :: Lens' DocumentSuggesterOptions (Maybe SuggesterFuzzyMatching)
 dsoFuzzyMatching = lens _dsoFuzzyMatching (\s a -> s { _dsoFuzzyMatching = a })
 
 -- | An expression that computes a score for each suggestion to control how
@@ -616,7 +616,7 @@
     , _ifDoubleArrayOptions  :: Maybe DoubleArrayOptions
     , _ifDoubleOptions       :: Maybe DoubleOptions
     , _ifIndexFieldName      :: Text
-    , _ifIndexFieldType      :: Text
+    , _ifIndexFieldType      :: IndexFieldType
     , _ifIntArrayOptions     :: Maybe IntArrayOptions
     , _ifIntOptions          :: Maybe IntOptions
     , _ifLatLonOptions       :: Maybe LatLonOptions
@@ -640,7 +640,7 @@
 --
 -- * 'ifIndexFieldName' @::@ 'Text'
 --
--- * 'ifIndexFieldType' @::@ 'Text'
+-- * 'ifIndexFieldType' @::@ 'IndexFieldType'
 --
 -- * 'ifIntArrayOptions' @::@ 'Maybe' 'IntArrayOptions'
 --
@@ -657,7 +657,7 @@
 -- * 'ifTextOptions' @::@ 'Maybe' 'TextOptions'
 --
 indexField :: Text -- ^ 'ifIndexFieldName'
-           -> Text -- ^ 'ifIndexFieldType'
+           -> IndexFieldType -- ^ 'ifIndexFieldType'
            -> IndexField
 indexField p1 p2 = IndexField
     { _ifIndexFieldName      = p1
@@ -697,7 +697,7 @@
 ifIndexFieldName :: Lens' IndexField Text
 ifIndexFieldName = lens _ifIndexFieldName (\s a -> s { _ifIndexFieldName = a })
 
-ifIndexFieldType :: Lens' IndexField Text
+ifIndexFieldType :: Lens' IndexField IndexFieldType
 ifIndexFieldType = lens _ifIndexFieldType (\s a -> s { _ifIndexFieldType = a })
 
 ifIntArrayOptions :: Lens' IndexField (Maybe IntArrayOptions)
@@ -856,11 +856,13 @@
         Processing             -> "Processing"
         RequiresIndexDocuments -> "RequiresIndexDocuments"
 
+instance ToByteString OptionState
+instance ToHeader     OptionState
+instance ToQuery      OptionState
+
 instance FromXML OptionState where
     parseXML = parseXMLText "OptionState"
 
-instance ToQuery OptionState where
-    toQuery = toQuery . toText
 
 data TextArrayOptions = TextArrayOptions
     { _taoAnalysisScheme   :: Maybe Text
@@ -954,15 +956,17 @@
         Minimal -> "minimal"
         None    -> "none"
 
+instance ToByteString AlgorithmicStemming
+instance ToHeader     AlgorithmicStemming
+instance ToQuery      AlgorithmicStemming
+
 instance FromXML AlgorithmicStemming where
     parseXML = parseXMLText "AlgorithmicStemming"
 
-instance ToQuery AlgorithmicStemming where
-    toQuery = toQuery . toText
 
 data AnalysisScheme = AnalysisScheme
     { _asAnalysisOptions        :: Maybe AnalysisOptions
-    , _asAnalysisSchemeLanguage :: Text
+    , _asAnalysisSchemeLanguage :: AnalysisSchemeLanguage
     , _asAnalysisSchemeName     :: Text
     } deriving (Eq, Show)
 
@@ -972,12 +976,12 @@
 --
 -- * 'asAnalysisOptions' @::@ 'Maybe' 'AnalysisOptions'
 --
--- * 'asAnalysisSchemeLanguage' @::@ 'Text'
+-- * 'asAnalysisSchemeLanguage' @::@ 'AnalysisSchemeLanguage'
 --
 -- * 'asAnalysisSchemeName' @::@ 'Text'
 --
 analysisScheme :: Text -- ^ 'asAnalysisSchemeName'
-               -> Text -- ^ 'asAnalysisSchemeLanguage'
+               -> AnalysisSchemeLanguage -- ^ 'asAnalysisSchemeLanguage'
                -> AnalysisScheme
 analysisScheme p1 p2 = AnalysisScheme
     { _asAnalysisSchemeName     = p1
@@ -989,7 +993,7 @@
 asAnalysisOptions =
     lens _asAnalysisOptions (\s a -> s { _asAnalysisOptions = a })
 
-asAnalysisSchemeLanguage :: Lens' AnalysisScheme Text
+asAnalysisSchemeLanguage :: Lens' AnalysisScheme AnalysisSchemeLanguage
 asAnalysisSchemeLanguage =
     lens _asAnalysisSchemeLanguage
         (\s a -> s { _asAnalysisSchemeLanguage = a })
@@ -1012,16 +1016,16 @@
         ]
 
 data ScalingParameters = ScalingParameters
-    { _spDesiredInstanceType     :: Maybe Text
+    { _spDesiredInstanceType     :: Maybe PartitionInstanceType
     , _spDesiredPartitionCount   :: Maybe Nat
     , _spDesiredReplicationCount :: Maybe Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'ScalingParameters' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'spDesiredInstanceType' @::@ 'Maybe' 'Text'
+-- * 'spDesiredInstanceType' @::@ 'Maybe' 'PartitionInstanceType'
 --
 -- * 'spDesiredPartitionCount' @::@ 'Maybe' 'Natural'
 --
@@ -1036,7 +1040,7 @@
 
 -- | The instance type that you want to preconfigure for your domain. For
 -- example, search.m1.small.
-spDesiredInstanceType :: Lens' ScalingParameters (Maybe Text)
+spDesiredInstanceType :: Lens' ScalingParameters (Maybe PartitionInstanceType)
 spDesiredInstanceType =
     lens _spDesiredInstanceType (\s a -> s { _spDesiredInstanceType = a })
 
@@ -1068,18 +1072,18 @@
         ]
 
 data AnalysisOptions = AnalysisOptions
-    { _aoAlgorithmicStemming            :: Maybe Text
+    { _aoAlgorithmicStemming            :: Maybe AlgorithmicStemming
     , _aoJapaneseTokenizationDictionary :: Maybe Text
     , _aoStemmingDictionary             :: Maybe Text
     , _aoStopwords                      :: Maybe Text
     , _aoSynonyms                       :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'AnalysisOptions' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'aoAlgorithmicStemming' @::@ 'Maybe' 'Text'
+-- * 'aoAlgorithmicStemming' @::@ 'Maybe' 'AlgorithmicStemming'
 --
 -- * 'aoJapaneseTokenizationDictionary' @::@ 'Maybe' 'Text'
 --
@@ -1102,7 +1106,7 @@
 -- full. The available levels vary depending on the language. For more
 -- information, see Language Specific Text Processing Settings in the Amazon
 -- CloudSearch Developer Guide.
-aoAlgorithmicStemming :: Lens' AnalysisOptions (Maybe Text)
+aoAlgorithmicStemming :: Lens' AnalysisOptions (Maybe AlgorithmicStemming)
 aoAlgorithmicStemming =
     lens _aoAlgorithmicStemming (\s a -> s { _aoAlgorithmicStemming = a })
 
@@ -1625,11 +1629,13 @@
         IFTText         -> "text"
         IFTTextArray    -> "text-array"
 
+instance ToByteString IndexFieldType
+instance ToHeader     IndexFieldType
+instance ToQuery      IndexFieldType
+
 instance FromXML IndexFieldType where
     parseXML = parseXMLText "IndexFieldType"
 
-instance ToQuery IndexFieldType where
-    toQuery = toQuery . toText
 
 data LatLonOptions = LatLonOptions
     { _lloDefaultValue  :: Maybe Text
@@ -1749,10 +1755,10 @@
 data OptionStatus = OptionStatus
     { _osCreationDate    :: RFC822
     , _osPendingDeletion :: Maybe Bool
-    , _osState           :: Text
+    , _osState           :: OptionState
     , _osUpdateDate      :: RFC822
     , _osUpdateVersion   :: Maybe Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Show)
 
 -- | 'OptionStatus' constructor.
 --
@@ -1762,7 +1768,7 @@
 --
 -- * 'osPendingDeletion' @::@ 'Maybe' 'Bool'
 --
--- * 'osState' @::@ 'Text'
+-- * 'osState' @::@ 'OptionState'
 --
 -- * 'osUpdateDate' @::@ 'UTCTime'
 --
@@ -1770,7 +1776,7 @@
 --
 optionStatus :: UTCTime -- ^ 'osCreationDate'
              -> UTCTime -- ^ 'osUpdateDate'
-             -> Text -- ^ 'osState'
+             -> OptionState -- ^ 'osState'
              -> OptionStatus
 optionStatus p1 p2 p3 = OptionStatus
     { _osCreationDate    = withIso _Time (const id) p1
@@ -1797,7 +1803,7 @@
 -- FailedToValidate: the option value is not compatible with the domain's
 -- data and cannot be used to index the data. You must either modify the
 -- option value or update or remove the incompatible documents.
-osState :: Lens' OptionStatus Text
+osState :: Lens' OptionStatus OptionState
 osState = lens _osState (\s a -> s { _osState = a })
 
 -- | A timestamp for when this option was last updated.
@@ -2018,11 +2024,13 @@
         SFMLow  -> "low"
         SFMNone -> "none"
 
+instance ToByteString SuggesterFuzzyMatching
+instance ToHeader     SuggesterFuzzyMatching
+instance ToQuery      SuggesterFuzzyMatching
+
 instance FromXML SuggesterFuzzyMatching where
     parseXML = parseXMLText "SuggesterFuzzyMatching"
 
-instance ToQuery SuggesterFuzzyMatching where
-    toQuery = toQuery . toText
 
 data DateArrayOptions = DateArrayOptions
     { _dao1DefaultValue  :: Maybe Text
@@ -2209,11 +2217,13 @@
         ZhHans -> "zh-Hans"
         ZhHant -> "zh-Hant"
 
+instance ToByteString AnalysisSchemeLanguage
+instance ToHeader     AnalysisSchemeLanguage
+instance ToQuery      AnalysisSchemeLanguage
+
 instance FromXML AnalysisSchemeLanguage where
     parseXML = parseXMLText "AnalysisSchemeLanguage"
 
-instance ToQuery AnalysisSchemeLanguage where
-    toQuery = toQuery . toText
 
 data PartitionInstanceType
     = SearchM1Large   -- ^ search.m1.large
@@ -2237,11 +2247,13 @@
         SearchM22XLarge -> "search.m2.2xlarge"
         SearchM2XLarge  -> "search.m2.xlarge"
 
+instance ToByteString PartitionInstanceType
+instance ToHeader     PartitionInstanceType
+instance ToQuery      PartitionInstanceType
+
 instance FromXML PartitionInstanceType where
     parseXML = parseXMLText "PartitionInstanceType"
 
-instance ToQuery PartitionInstanceType where
-    toQuery = toQuery . toText
 
 data Suggester = Suggester
     { _sDocumentSuggesterOptions :: DocumentSuggesterOptions
