What would you put in each group and why?
I hate groups, but that may be because I'm always hard to categorize. The greater mistake I think you're making, though, is that your categories are off. This has been mentioned a few times already. The definition of CS differs much depending on who's defining it. Some CS education is highly focussed on the mathematics side, some has a tendency towards system design, there are even institutions that would call your CGI course a typical example of CS. This means that "CS" shouldn't be part of any other definition, for that definition will then also be highly ambiguous.
Also, the distinction between "CS" and "Real world" doesn't exist in the real world. Whether it exists in CS again depends on the specific definition of CS that you're using. It's like the distinction between "theory" and "practice", of which fortunately more and more people say it's a useless distinction most of the time. If theory and practice are two different things, then mistakes (or assumptions, which are mistakes that you admit beforehand) have been made. In theory, practice equals theory. In practice, we agree with that, because it's usually impossible to tell what's theory and what's practice.
But if you do want to use categories, then always keep in mind that the people who are strictly in one category are the least useful for productivity. :)