The most likely issue here is the monitor/tv is not reporting it's capabilities to the mac, so macos sets it to a generic YCbCr tv mode which results in gray-ish blacks, fuzzy text, and missing resolutions. This can be fixed in a few steps.
1. Disconnect all monitors except the problem monitor. If you're on a macbook, close the lid and use only the external monitor.
2. Download patch-edid.rb from
https://gist.github.com/adaugherity/7435890 ("Download ZIP" link on the right side) and unzip the file. Copy the patch-edid.rb file to your user/home directory.
3. Open Terminal and type
ruby patch-edid.rb. This will create a new directory in your user/home folder. Mine was named DisplayVendorID-593a. Yours will have a different number.
4. Copy that directory to
<your mac hard drive>/Library/Displays/Contents/Resources/Overrides/ (you can use Finder to copy it).
5. Reboot.
What's happening here is when the mac encounters your unknown display, it will look in the "Overrides" directory for a matching ID file. It will now find the one that you just created and use it to set up proper resolutions and color spaces.
This will not always work for everybody because EDID monitor reporting is not consistent and all sorts of things can cause problems, from cables to adapters to screen settings. However if it works with Windows, it will probably work with macos.