Just as a (very delayed) update, I started messing around with GLFW again and found that it actually has a way of handling this sort of thing: glfwSetUserPointer and glfwGetUserPointer. I ended up editing my code to store a pointer to the calling GameWindow instance. In the callback methods, I simply use glfwGetUserPointer to get said pointer, and cast it to the GameWindow type. I can then use the instance as I would normally.
EDIT: While apmasell's answer IS correct, it's mainly a solution for libraries that don't allow things like user pointers.