This might work. Have a different class for each "type" of enemy. Each "type" of enemy can pull random weapons, items, etc. But then make an array of classes, and whenever you want to make a new enemy, pull a random number (with some sort of method) and use that method number as the index number for the array. That way, you get a semingly unique enemy each time.
I hope this made sense :P