The Meaning of Life, the Universe, and Everything.
You can enchant at any level 1-50. Max level is 50.
The higher level you attempt however, the better enchantment chances you get.
Alot of people are saying that certain levels give certain enchantments, like 25 being a good silk touch enchantment level.
This is not always true, Silk Touch is actually better rate at 50, because it is considered a "High Level Enchantment".
But if you do not care about higher level enchants like Silk Touch or Fortune, stick to levels 1-15, and for good enchantments 35-50
I would always suggest 35-50, but if you're making your first 5 diamonds into a diamond pick and enchanting table then you can always go to lower levels to keep low-enchanting your stone-iron tools for quick production.
I know what you're thinking. "Did he fire six shots or only five?" Well, to tell you the truth, in all this excitement I kind of lost track myself. But being as this is a .44 Magnum, the most powerful handgun in the world, and would blow your head clean off, you've got to ask yourself one question: Do I feel lucky? Well, do ya, punk?
I've started enchanting my diamond tools at level one if I'm not going for something specific. I either end up with Efficiancy I or Unbreaking I, either one of which is worth the level. Yesterday I got both on one shovel.
Bows I usually enchant around level 10-12 hoping for Power II, swords around level 25.