Considering your scenario, I think Microsoft BranchCache can do the job for you. Sorry, I don't have practical experience of using it but from whatever I have read, it does the job, especially for your case-requirement (200 branches etc).
Use BranchCache to cache SMB share content at a branch office overview:
https://docs.netapp.com/us-en/ontap/smb-admin/branchcache-cache-share-content-branch-office-concept.html
BranchCache supported versions of ONTAP:
https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/BranchCache_supported_versions_of_ONTAP
Configure BranchCache:
https://docs.netapp.com/us-en/ontap-sm-classic/online-help-96-97/task_setting_up_branchcache.html#modify-the-branchcache-settings
Another option: NetApp FlexCache (Not suitable for your requirement)
FlexCache is supported on AFF, FAS, and ONTAP Select systems running ONTAP 9.5 or later versions. A cache is a temporary storage location that resides between a host and a source of data. The objective of a cache is to store frequently accessed portions of source data in a way that allows the data to be served faster than it would be by fetching the data from the source. FlexCache in ONTAP solves these problems by providing a writable, persistent cache of a volume in a remote place that is consistent, coherent, and current.
PDF:
https://www.netapp.com/pdf.html?item=/media/7336-tr4743pdf.pdf
https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/FlexCache_volumes_for_ONTAP_9.5_and_higher