I am a PhD student and I'm starting to implement GTD. I have done a lot of the thinking stages and encountered some of the same issues about how to categorize. I think that maybe your situation isn't that different from the type of reading and lab work I do a lot of. After all it is always about cranking widgets. We just need a neat but not overly complex way to categorize them.
What if you had a project for each large/broad "unit" of info you need to master. Say you are doing an Obstetrics rotation... I would create project called "I've completed my Ob rotation" (or unit of study if you aren't at the rotation stage yet). Under that you would have subprojects that categorize things further in a way that is useful to you. Maybe... "I've mastered the anatomy involved" and "I've completed the case study work" or "I've completed the group project" etc. etc. these will really be dictated by the way your work comes at you. But think of the "big chunks" and treat them like baskets in which to put next actions you can actually do. Under "I've mastered the anatomy" you could do @Read: Read chapter 16 and @Learn: Make flashcards or @Learn: Practice with flashcards for 30 min. Assignments for classes get dumped here as they come to you and also you can dump things here that you decide you need. I like this for myself because it makes me think of what I need and think about how long to spend at it. I'll have something like "@Write: Do crappy draft of intro on topic X - time limit 15 minutes" for example and that means I do a timed brain dump on that topic and then move on to something else which might be editing and revising it or I might pick a different kind of writing task not related to the intro if I feel I need to get away from it. I might even shift contexts if I then want to do some reading or if I need a mental break I'll pick a "gel jockey" task from my @Lab context and do that. Cranking widgets!
I know these are unusual contexts but this is what I do as a PhD student where almost all of my job happens in either the lab, the field or the office and when I'm in those places I have huge chunks of time and a wide variety of ways I could potentially divide them (all needing to be determined by me which is often just enough proverbial rope as they say). Having things like @Read and @Write are, to me, implicitly also @Office but they allow me to choose based on what I have the energy for. At the beginning of the week, I review my schedule and block out chunks of time for reading and writing and pipetting etc. based on my general feelings on what things need the most attention that week. This is based on the deadlines I have looming near.
GTD implementation is so personal and specific and sometimes the flexibility is a little overwhelming. I know that the above is not one size fits all but maybe you will find a useful kernel in it.