Mobile cloud-based learning is a novel trend that brings many advantages to distributed learners to achieve collaborative learning, but it still lacks of mechanisms to enhance their teamwork performances. To make up that shortcoming, combining the features of cloud environment, we have identified a learning flow, a specification of workflow, based on Kolb team learning experience. This novel learning flow can be executed by our newly designed system, Teamwork as a Service (TaaS), in conjunction with cloud-hosting learning management systems, following which learners benefit from functions given by cloudbased services, separately for organizing cloud jigsaw classroom, planning and publishing tasks, rational task allocation and mutual supervision. We introduce a genetic algorithm method for grouping learners into appropriate teams, for two different scenarios of expectations for forming teams. Experimental results prove that our approach is workable to facilitate teamwork, while learners' capabilities and preferences are being taken into consideration.