Thanks for the input. I am restricted to fitting my schedule into 9 weeks, though.

I approached the problem by working out Division X (teams A,B,C,D) vs. division Y (E,F,G,H), but keeping the division matchups balanced, sticking with one of each divisional combination.

Over 6 weeks, I used the combinations of AB, AC, AD, BC, BD, and CD vs. EF, EG, EH, FG, FH, GH. This can be set up leaving exactly one unplayed opponent for everyone. (side note: Interestingly, I wasn't able to figure out a combination that allowed for everyone to ride in the cart once with the other division opponent they don't play. At best, I always ended up with one combination that was never in the same foursome).

Anyway, after figuring out the Division X vs. Division Y teams for 6 weeks, I figured out X vs. Z and Y vs. Z.

So, through 6 weeks, everyone needed to play just one team from each of the other two divisions and their 3 divisional opponents one more time. If I worked it out properly in the first part, fit nicely into the final 3 weeks.