"Right when we get to Frankfurt, I am thinking of hopping on a flight to different country right away"
Before you do this, be FULLY aware of the risks and complications. Here's a good primer: https://www.tripadvisor.com/Travel-g41707-c207311/Newton:Massachusetts:Connecting.On.Separate.Tickets.html
Similarly, unless you have a VERY high tolerance for risk, you will want to be close to Frankfurt the night before your flight home. If anything happens and you miss that flight, you have to buy a new, one way, last minute ticket home - potentially very expensive.
Don't think countries - think destinations within the countries. For instance, Frankfurt to Paris is only 4 hours on the train; Frankfurt to Strasbourg (for Alsace) is a bit over 2 hours; but Frankfurt to Bayeux (for the French Basque Country) is 7-8 hours. So, starting in Frankfurt, some parts of France are much easier than others.
You will not want to be moving every day (trust me on this), and you probably don't want too many long train rides. What to see will depend on your interests.
Trains will be the way to go on a trip like this. To find train times and connections for most of Europe, and prices for trains that start or end in Germany, use the Bahn (German Rail) website http://reiseauskunft.bahn.de/bin/query.exe/en, following Rick's tutorial: http://www.ricksteves.com/travel-tips/transportation/trains/online-schedules
To get the cheapest tickets, you'll want to buy in advance, if you can work with non-refudnable and non-exchangeable tickets (or tickets that severely limit these actions). Here's a handy list of where to look for these, from rail guru The Man In Seat 61: http://tinyurl.com/bo8x6o6
If you're not seeing train connections, you can try looking on Rome2Rio to find out how to get between places: https://www.rome2rio.com/. Note that the prices and schedules on Rome2Rio are not always accurate - always double check with the actual airline, bus company, etc.
David's itinerary is a good start. Look into the places he lists - do they interest you or not?