Colludium - THAT is actually a very good idea. Running faster is running faster!
Yes! I totally agree. I use that technique mostly for traps and puzzles in each section of the game - if the player is somewhere else then the groups of associated code are disabled. To make all of that work, like others have posted, I have event sheets for: E_player, E_effects, E_enemies, E_traps, E_common, E_LayoutX - and most of the group enabling/disabling takes place in E_traps, E_enemies and the event sheet specific to the current layout.
It's the same philosophy for turning off work for other behaviors - but doing that might earn you bigger dividends. For example, I turn off particle objects if they are far away from the player. That lets me add a LOT of particle objects without loading up the cpu by making it have to track thousands of particles that cannot be seen. When I introduced that little trick to umbra during dev of level 2 the cpu utilization went down by 10%! So, depending on what your events do, enabling/disabling groups may not make any discernible difference to a game (but could cause you a bit of pain setting it up) whereas managing off-screen behaviors might be worth giving more attention to (I just do it out of caution so I don't later find I have to go back and try it).
Regarding the code groups - the way I imagine it is that it enables you to block off great swathes of code by setting a single boolean. That boolean will be checked each tick - so each disabled block of code will add a small but relatively insignificant burden to the work the cpu has to do each tick.