It sounds like plaque is building up along your gum line, causing your gums to recede, exposing the lower portion of your tooth where enamel does not protect the root. The chocolate is sitting at this low portion of your tooth, allowing the sugar to seep into the porous channels, and reach the nerve inside the root of your tooth.
You need to get your teeth cleaned by a dental hygenist. Then improve your habits by flossing your teeth often to prevent the continued buildup of plaque along your gumline and inbetween your teeth. Sensodyne toothpaste helps fill the porous channels in your teeth, preventing the sugar from doing so, thus preventing the pain from the sugar.
Yes, I have gone through this. I now can only eat a single grapefruit in a week. If I eat two or more, the sugar accumulates to cause a significant amount of pain.
Also, if you eat acidic food, such as a grapefruit or even a few peaches, rinse your mouth with water afterwards to prevent the acid from sitting on your teeth for a long period of time.