Greatly simplified logic for handling nested remote groups, but it's still not working correctly.
Changed the returned format from fetchGroups() and greatly simplified remote grouping logic (again)
Nested grouping of remote data is now working!