In the workplace, very often managers will make choices that subordinates don't agree with. Sometimes there are no branches of the decision tree that everyone will go along with. But a Technical lead or a manager is paid to make the decisions and the final call is hers or his.
It's important to understand that because there is a 100% chance you will eventually need to implement decisions you don't agree with.
The challenge is how to manage up to get better decisions made so that you have to do fewer things you don't agree with.
The first thing is to be aware of is that you are never going to get a manager to agree with a change you propose if she or he does not respect you professionally.
So your first task is to gain the trust of the manager. You gain that trust by delivering the work with the best quality you can under the particular circumstances.
You gain that trust by letting the manager know when there is a problem headed his way before someone from above asks him or her about it.
You gain that trust by not being a pain to work with (i.e., you do things like timesheets and project management tasks without him having to bug you, you don't embarrass him in from of his peers, subordinates and organizational superiors).
And you gain that trust by supporting his or her decisions. No, that last doesn't mean that you can't disagree, but that once the time for objections is past, you step up and make the decision work. You don't complain about them being his or her back either.
OK suppose you do have your manager's trust. The next part is trickier. You have to be aware of timing when bring up objections. And you have to be careful about your tone of voice and the language you choose to use. No one likes to be told they are stupid and wrong and the decision will become more set in stone if you present your objection in way that makes the manager feel disrespected.
The best time to get in your input is before a decision is made and announced. Now granted, sometimes a decision, like possibly this one, comes as a complete surprise. But when you know that someone is considering methods or you know there is a particular decision point coming up, that is the time to get information to them to help them choose the way you want to them to choose.
After a decision is publicly announced is never the best time to dispute it. If it is just to the team, there is still a chance the decision can be reversed, but if the decision has been announced to Clients, senior managers or to others outside your group, then it is usually best to back off unless the decision is critically wrong. By critically wrong, I mean the decision cannot be implemented without spending a great deal of money or it might cost the company a lot of business. I do not mean it might be inconvenient for you personally.
Now personality type comes into this, too. Some personality types are more amenable to objections than others. I once had a boss who was so rules-based (and one of his rules was that he set the rules) that there was no pushing back on anything no matter how bone-headed. He was a smart guy and I learned a lot from him and he rarely made a truly stupid mistake because he knew his profession in far more depth than I did, but I hated every minute of working with him. If you have that kind of boss, the best you can do is follow his lead until he gets replaced, learn what you don't want to be when you are a manager, and/or move on (follow his lead until you move on though, you can often get a terrific recommendation from this sort of person).
Other personality types are more willing to listen. But you have to know when to catch them. Sometimes the best time to get something you wanted done is after there was a major problem in the very area that you want to change (don't be an "I told you so" person here, that won't help.). Others are best approached only when things are going well. It can help a great deal to read about personality types to understand the best way to approach someone.
It can also help a great deal to read about language use. I have often seen issues where two people were arguing about two completely separate issues and neither one noticed. If your boss isn't hearing you, then read about language styles. This can be particularly true if the two of you are different genders or come from different cultures. (if anyone wants help in understanding the male/female differnt communication styles, I highly recommend: https://www.amazon.com/Talking-Women-Work-Deborah-Tannen/dp/0380717832/ref=pd_bxgy_14_3?ie=UTF8&pd_rd_i=0380717832&pd_rd_r=YBN2YVGRNJMWHTT8KA8B&pd_rd_w=VgumZ&pd_rd_wg=DlFii&psc=1&refRID=YBN2YVGRNJMWHTT8KA8B)
When you do have to object to a particular decision, then you need to present your ideas not only in technical terms, but in business terms. Nothing will get a manager's attention faster than costs (either measurable cost savings with the alternative suggestion or extra costs to implement something you disagree with.) Cost are not all monetary, although leading with those helps. Consider time, risks (risk of introducing new bugs, security risks, risks of losing customers,etc). Learn to do a formal decision analysis. Managers deal better with hard numbers than fuzzy, intangible concepts.
Sometimes you can lead someone to a different decision by simple questioning about the mechanics of implementing the decision. By asking questions that lead them to see the problems, you are not creating a negative by objecting. For instance in your case with the enums, I might have pointed out that we have 237 already in the code and did he want us to redo those or simply refrain from using them in the future. If we do redo them, what QA process do we need to follow? If some of those enums are in a part of the code without unit tests, did he want you to write those tests first? It might take 1500 hours to fix all of those, what priority should we put on fixing them, what should we push to a later sprint to be able to have the time to do that, etc. The key to this technique is to be very sincere. You are trying to get clarity around implementing, not objecting. And you do actually need most of those answers in order to implement. You know you have won when he or she says, "Hold on on that for a bit, I need to think about this some more."
Pick your battles carefully though. You want to concentrate only on the truly critical stuff. If you object to everything, then you will get labeled troublemaker in her or her mind and you won't be listened to when it is important. The more senior you are in the profession and the more trust you have gained, the more things you will able able to steer in the direction you want. I almost always get asked before a decision to give input these days. I worked hard to get to that position, but we hardly ever do anything I seriously object to, now. You will have to work to get to that place as well. But as you start out, truly only pick really big battles to fight.