I am happy to see that you are staying overnight in Cordoba, which is a lovely city and so much nicer in the evenings when the daytrippers have left and the city is illuminated.
However, instead of spending 3 nights in Cordoba, I would suggest spending 2 nights in Cordoba and adding an extra night to Seville. Right now you only have 2 nights in Seville, so one full day and 2 half-days. Seville is a larger city than Cordoba and has more important historical and interesting sites to visit, such as the amazing Alcazar, the Cathedral, Casa di Pilatos, the stunning Plaza de Espagna, the Triana neighborhood, etc. Go for a carriage ride; see a flamenco show.
We enjoyed Toledo, too, but I prefer the Andalusian cities to Toledo. That's my personal opinion. You only have 9 nights, which is really not a lot, so IMO, to add in Toledo will make your trip more hectic. More time spent on trains.
And you do not need a car for this trip. It will be more of a hindrance and more stressful. Relying on trains and buses is the way to travel in this area. We did a similar trip in 2017, (longer trip that included Toledo and Malaga) and we used only trains and buses, and it worked out perfectly.
Another suggestion is to change the order of your itinerary. You should check train schedules to see if this route might work out better for you:
Madrid, Granada, Seville, Cordoba and Madrid.
Cordoba is closer to Madrid than Seville so staying in Cordoba after Seville will shorten the train ride to Madrid and eliminate backtracking.