add `hgetall_group_by` utils func