Yes I’ve thought about a way to implement sequential groups, though more recently I saw a post requesting the concept of ‘parallel groups’, which got me into thinking a more systematic / general way to accommodate both types of requests.
Yet another idea is to completely change the programs to use the program scheduler like OpenSprinkler Bee:
where each program can contain multiple tasks, each containing an arbitrary set of zones and a duration. This will provide the maximum flexibility and allow you to program the zones any way you want. The downside is that it’s quite manual and tedious, and it’s not done automatically like the current OpenSprinkler program scheduler.