Combinatorial assembly and design of enzymes