restriction enzymes types difference