Support repeated enum arguments for clients built by discovery.
diff --git a/apiclient/discovery.py b/apiclient/discovery.py
index 82629ee..02ab99e 100644
--- a/apiclient/discovery.py
+++ b/apiclient/discovery.py
@@ -424,10 +424,19 @@
 
       for name, enums in enum_params.iteritems():
         if name in kwargs:
-          if kwargs[name] not in enums:
-            raise TypeError(
-                'Parameter "%s" value "%s" is not an allowed value in "%s"' %
-                (name, kwargs[name], str(enums)))
+          # We need to handle the case of a repeated enum
+          # name differently, since we want to handle both
+          # arg='value' and arg=['value1', 'value2']
+          if (name in repeated_params and
+              not isinstance(kwargs[name], basestring)):
+            values = kwargs[name]
+          else:
+            values = [kwargs[name]]
+          for value in values:
+            if value not in enums:
+              raise TypeError(
+                  'Parameter "%s" value "%s" is not an allowed value in "%s"' %
+                  (name, value, str(enums)))
 
       actual_query_params = {}
       actual_path_params = {}