We then had to spend a long time cleaning up the mess when lo and behold, we needed to add more territories to the dataset.
I think we've swung too far in the wrong direction when it comes to "premature abstraction" and yagni.
The only acceptable reason I've seen for writing bad code is "we might not be here tomorrow" but that is literally only valid for extremely young startups and even then those decisions could ripple and indirectly kill the company in the future when they're no longer able to pay off the tech debt in time