It hard to describe since EG configuration is so graphical. Also the best approach depends some on exactly how your remote behaves. I'll assume the remote always sends the same IR codes for every individual key. In that case the easiest would be to create several folders, one for each major activity (i.e., WMC, XBMC, Windows). Each folder needs to contains the same macros with triggering IR events for every remote function key since they are always the same IR codes but then you assign different Actions depending on what activity (folder) it's in. Also you create global macros, one for each remote key that *switches* to an activity. In the global macro(s) you *enable* the folder for that activity and disable all the others. When you switch, you repeat for a new folder so that one and only one folder is active at a time. Also these gloabl "switching" macros also usually do whatever Actions you need to actually begin the activity (i.e., launch WMC, launch XBMC, etc.)
The initialization becomes a little tricky because you need to have at least one folder enabled to get functionality so you either have to define some "initilization" macros that will allow to to select any activity or you always need to start up the same way into media center or whatever you think your "home page" app is and then make sure that activity folder is enabled at start. The best way is to define some remote command that can actively *force* you into default activity mode.
This become a lot easier if you use a remote like a harmony with fully definable keys depending on activity selected from the remote. Then the multiple folder/activity config isn't necessary at all because the remote changes IR codes depending on activity. You can put all macros in one always-enabled folder since the IR code triggers can't conflict with one another.