It's often better to implement your caching logic at the Edge than just going with Vary support. Vanilla Vary support leads to cache dilution.
Accept (and other headers you might include in vary) may take many different values that you want to tie to a single cache entry.