@Phone and others are really just examples. Contexts can be more than just resources. Resources lend themselves well as contexts if your projects are very similar in structure, so that batching of similar tasks (like phone calls) makes sense.
Consider contexts as intersections of resources, places, people etc. in your life that occur frequently - contexts give you a chance to get something done "there", repeatedly.
Trust your instinct: as you mentioned, if you see a fair amount of diversity among your projects, then using resources as contexts doesn't work that well. Resorting to old-style project-specific lists however completely defies GTD, because you can't find immediately what you could do right now. There are better alternatives - I've listed a lot of context types in my blog, under What is (not) a GTD context?.
Maybe it's of help for you.