Mblanch
Here is some sample groovy script where you create the list of test cases and set the number of threads (which you machine can handle)
https://stackoverflow.com/questions/7921473/how-to-execute-a-pool-of-tasks-using-set-number-of-java-groovy-threads-without
NOTE: in the answers, it was mentioned the tasks; this is nothing but your test case list.
If you are using this groovy script in a separate test case, then you need few more lines of groovy code to read the actual test suite where you have bunch of tests and build the list and pass that list in place of tasks. Also ensure the test suite is disabled so that they won run again.
Keep the execution mode to sequencial only. May be it would best in the command line execute. Of course, tool should work as well.
You ma start with 4 threads and keep increasing and come up with best value for your machine and tests.