Probably more than enough if you're careful how you use it. Many people seem to not give any thought to how they use cache, and just try to cache everything all the time.
Don't cache the initial data load since cache won't have the capacity to hold it all, and it is impossible to move from cache to the slower array as fast as you can write to cache. Mover is intended for idle time.
Your appdata, domains, and system shares belong on cache and should stay there (and will unless you change their settings or fill cache up). This is so your dockers and VMs won't have their performance impacted by the slower parity writes, and so they won't keep array disks spinning.
I have a similar capacity in my cache pool. I cache very little. My dockers as noted, and my plex DVR since there is some benefit to SSD speed when trying to record and playback at the same time.
Most of my other writes are scheduled backups and queued downloads, so I don't care if they take a little longer to write since I am not waiting on them. They go directly to the array where they are already protected by parity.
Other people will have other use cases, but the main point is, think about it instead of caching everything all the time.