Wonderful! It's a really good idea to use group stabilizer!
In addition, I think
Permute[CharacterRange["A", "E"], #] & /@ GroupElements@GroupStabilizer[pg, {1, 2}]
may help simplify the code in part "Using group stabilizer".
-- you have earned Featured Contributor Badge Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!