I spoke with Vizio support. They had me do the following:
1. Turn off, unplug the power, and hold down the power button for 30 seconds. This is supposed to reboot/reset the tuner. This didn't make a difference.
2. Reset the factory settings in the menu. This made a slight difference, the scan would go to 33%, but still got stuck.
3. Run a scan with no cable plugged in, which it would go 100% and find nothing. But it didn't fix the problem either.
That's all Vizio had to offer except trying at a different spot in my house.
I changed the input to antenna and ran a scan out of curiosity. It picked up just 13 analog channels and 0 digital (the cable was still plugged in). Then when I switched the input back to cable and ran the scan, presto, it worked! I am getting more QAM channels now than before, so it ended up being a good thing that I did it.