Added error setting for more cases of invalid tokens.
diff --git a/src/enable.c b/src/enable.c
index 82ba940..897f075 100644
--- a/src/enable.c
+++ b/src/enable.c
@@ -152,6 +152,7 @@
             enableKeyRepeat(window);
             break;
         default:
+            _glfwSetError(GLFW_INVALID_ENUM, NULL);
             break;
     }
 }
@@ -184,6 +185,7 @@
             disableKeyRepeat(window);
             break;
         default:
+            _glfwSetError(GLFW_INVALID_ENUM, NULL);
             break;
     }
 }
diff --git a/src/input.c b/src/input.c
index 04c835a..8845b75 100644
--- a/src/input.c
+++ b/src/input.c
@@ -53,7 +53,7 @@
     if (key < 0 || key > GLFW_KEY_LAST)
     {
         // TODO: Decide whether key is a value or enum
-        _glfwSetError(GLFW_INVALID_VALUE,
+        _glfwSetError(GLFW_INVALID_ENUM,
                       "glfwGetKey: The specified key is invalid");
         return GLFW_RELEASE;
     }
diff --git a/src/window.c b/src/window.c
index a39125e..2e49b86 100644
--- a/src/window.c
+++ b/src/window.c
@@ -468,6 +468,7 @@
             _glfwLibrary.hints.glRobustness = hint;
             break;
         default:
+            _glfwSetError(GLFW_INVALID_ENUM, NULL);
             break;
     }
 }
@@ -748,12 +749,10 @@
             return window->glProfile;
         case GLFW_OPENGL_ROBUSTNESS:
             return window->glRobustness;
-        default:
-            _glfwSetError(GLFW_INVALID_ENUM,
-                          "glfwGetWindowParam: Invalid enum value for 'param' "
-                          "parameter");
-            return 0;
     }
+
+    _glfwSetError(GLFW_INVALID_ENUM, NULL);
+    return 0;
 }