I have used the product called "Zep" and it has been very successful.
-3 cups Water
-1/2 cup Baking Soda
-1/3 cup Fresh Lemon Juice
-1/4 cup White Vinegar
Whisk ingredients in a bowl, mop or spray on, let sit for 10-15 minutes, scrub and rinse.
with a vinegar/baking soda paste, on your hands/knees with a stiff scrub brush, rinse, dry and repeat. Then allow to dry and reseal .
Lonnie, sometimes grout is stained and even after it's cleaned it won't lighten. This happens typically when the grout wasn't sealed.
First, I would use a soap scum remover such as scrubbing bubbles or lysol power bath. Spray it on and let sit for several minutes. Using a nylon scrubby, you can gently scrub the softened grime. For extremely dirty situations, I repeat this while it is softened. Then rinse.
After this treatment, the tile should be good but the grout may not be white yet. Using the soap scum remover first is imperative though, because the soap/mineral/dirt combination we call soap scum won't allow anything else penetrate the grout until it's gone.
At this point, you can try bleaching your grout. Another option is to stain the grout. They sell grout pens anywhere tile is sold. These pens change the grout color. A third option is to regrout. You can remove the old grout with a grout remover tool. Then apply fresh grout.
Whatever you try, Once dried, be sure to seal your grout.
A steam cleaner is very effective. Just had to do this. It's time consuming, but then you can seal it so you don't have a recurring problem.