Late answer, but maybe this will help someone else.
Encryption is a high level feature. TCP and UDP alone do not support encryption. These are low level protocols. In fact, we could say that TCP is a protocol of a higher level than UDP, since TCP includes some additional features that may be useful ... or not, depending on the project in which it will be used.
ENet is good because it provides the benefits of both worlds - TCP reliability and UDP freedom and light weight. There is nothing wrong with the fact that ENet internally uses only UDP, not TCP, because ENet can provide almost everything that TCP does, and much more.
If you want to have encryption, you will have to add it yourself, regardless of whether you chose TCP, UDP or ENet. Therefore, I suggest you continue to use ENet if you like it, and when you start your game, you can add any encryption algorithm that you want, as long as you select the same algorithm for both the client and the server. You can select a third-party encryption library and simply transfer your network packets through it. ENet does not care what data is sent through it.
Perhaps the following article will help with ENet:
Network Programming with ENet by Mike Deel
and also take a look at the following Stackoverflow topic on encryption for small network packets:
Recommendations for Encrypting Continuous / Small UDP Data
source share