I recently read an article about San Diego's Adrian Gonzalez, who in 2007 finished fifth in the NL with 46 doubles. As of June 4, this season he has only 4 doubles, to go with 22 home runs. At that pace he will wind up with 67 HRs and only 12 doubles.
Anyway, with 84.6% of his extra base hits being home runs, Gonzalez would become only the fourth player to achieve(?) that feat, among players who hit at least 20 HRs on the season.
Two of the three who did this I might have guessed, with some thought, but I wouldn't have got the third.
Mark McGwire did it twice, in 2000 when he had 32 HRs among his 40 extra base hits, and in 2001, when his 29 HRs made up 87.8% (the record) of his 33 total extra base hits.
Harmon Killebrew did it in 1964, with the Killer having 49 HRs among his 60 extra base hits. As an aside, Killebrew also once hit an inside the park home run, which I find amazing given his lack of speed. My best guess that he hit a line drive so hard that it decapitated the leftfielder, and, in the confusion of a head rolling around the outfield, Killebrew somehow waddled around the bases.
The other guy to do it? The Reds Art Shamsky, who hit 21 HRs among his 26 extra base hits in 1966. Shamsky made this group in part because of a three HR game (he actually hit four straight HRs over a couple of games IIRC).