This is the only correct answer (so far). I think there is a rather perverse obsession on job titles. (Not just in the software industry, in general).
The actual difference in the titles is what the company defines them to be, if they even define it. There is no IETF RFC, or ISO standard.
One problem with defining a title is restricting the roles.
Sometimes just because you're an architect, you don't write mundane boring janitorial code. Just because you're a lead it means your decision has more weight. You because you're a programmer, you don't think critically about integrating with other parts of the systems.
It takes away shared responsibility and builds a hierarchical relationship.
Systems expands (or sometimes shrink) across time and roles changes. You could define your whole system as a unique system/solution, but things split and decouples.
I still don't get the "enterprise" thing though.
"Enterprise" is just a word that you use to say that you are just looking at a (flawed) high level abstraction of a thing, and are not concerned with everything below.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.