Very good question, Joe. I spoke to some internal experts on Holding Tank. Their combined response is below:
Regardless of how the information is changed in the LE (whether it be by manually changing things in the UI, Valence, or direct database manipulation), if it disagrees with what is in the HT database (which is always the source of record), the changes will be reverted on the next HT run. When we’re talking about SIS integrations (whether it be HT, BIC, or IPSIS), data only flows in one direction (that being from SIS to LMS).
It is possible to configure HT to stop updating certain types of data, but it’s not possible to make it granular enough to only filter some requests of type X, but not all.
Relevant configurations (given your question was about enrollments):
Processenrollments – if set to false, HT will not process any enrollments (will not create new enrollments, or process existing ones).
Processunenrollments – same as above, but config used when removing an enrollment.
Integrationisowner – if false, HT cannot un-enroll users that were manually enrolled (this is getting closer to what you're looking for, I believe)
Updateorgrole – if false, HT will not overwrite roles (this sounds like what you're looking for).
If you'd like to explore the option of configuring HT to stop updating certain types of data, you should reach out to your institutions Account Manager at Desire2Learn.