Use cpp-options instead of ghc-options for the C preprocessor.
diff --git a/enumerator.cabal b/enumerator.cabal
index 4d2bf1a..810757d 100644
--- a/enumerator.cabal
+++ b/enumerator.cabal
@@ -148,7 +148,7 @@
     , text >= 0.7
 
   if impl(ghc >= 7.7)
-    ghc-options: -DGHC78_DATA_TYPEABLE=1
+    cpp-options: -DGHC78_DATA_TYPEABLE=1
 
   exposed-modules:
     Data.Enumerator