TTY is just being used as a heuristic in this case. Why not mirror the process-tree or build a process-group-tree?
This could even be applied more generically in other schemes (systemd creating a cgroup and subgroups are automagically created within their parents group).
But I fear cgroups don't scale to 1 level per process/process-group. Otherwise I think this would automagically work for all users (eg. running chrome (multiprocess possibly cpu hog) a game and listing to some music in another app instead of the in-game music).