I ended up solving this myself by adding the combined Group + item name into the source data coming into the Freemarker template, and then just using this to sort the list on that value:
<#list record.item?sort_by("combined_name_and_group") as item>
This is resolved for me.