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 = {}
diff --git a/tests/data/zoo.json b/tests/data/zoo.json
index 9ead92a..7ef0f24 100644
--- a/tests/data/zoo.json
+++ b/tests/data/zoo.json
@@ -178,6 +178,17 @@
        "bar"
      ]
     },
+    "er": {
+      "type": "string",
+      "location": "query",
+      "required": false,
+      "repeated": true,
+      "enum": [
+        "one",
+        "two",
+        "three"
+      ]
+    },
     "rr": {
      "type": "string",
      "location": "query",
diff --git a/tests/test_discovery.py b/tests/test_discovery.py
index f15ec62..36d9c8a 100644
--- a/tests/test_discovery.py
+++ b/tests/test_discovery.py
@@ -170,13 +170,18 @@
     self._check_query_types(request)
 
     request = zoo.query(
-        q="foo", i="1", n="1", b="", a=[1,2,3], o={'a':1}, e='bar')
+        q="foo", i="1", n="1", b="", a=[1,2,3], o={'a':1}, e='bar', er='two')
 
     request = zoo.query(
-        q="foo", i="1", n="1", b="", a=[1,2,3], o={'a':1}, e='bar', rr=['foo',
-                                                                        'bar'])
+        q="foo", i="1", n="1", b="", a=[1,2,3], o={'a':1}, e='bar',
+        er=['one', 'three'], rr=['foo', 'bar'])
     self._check_query_types(request)
 
+    # Five is right out.
+    self.assertRaisesRegexp(
+      TypeError, '"five" is not an allowed value in',
+      zoo.query, er=['one', 'five'])
+
   def test_optional_stack_query_parameters(self):
     http = HttpMock(datafile('zoo.json'), {'status': '200'})
     zoo = build('zoo', 'v1', http)
