i think this has some issues in no particular order:
- the root iteration should use `iter_docs` not do one query per case
- it doesn't do doc-type checking so will return `CommCareCase-Deleted` objects
- it will needlessly save the save the `CaseGroup` once per deleted case when you could just save it once at the end
- it feels strange to be saving this at all in a `get_cases` method. i would return None for cases or just filter them out, and then potentially go clean it up later with checking against the size of the lists or something