We are using Testng with RC. Would want to know a common/practical/generally used way to determine which tests to be run & not run.

Take to scenario - In one test suite I have 3 modules - A, B & C. In each of the modules, there are 5 - 6 tests. The tests have been created & run fine. But as my tests would increase I may want to skip a few of tests in either of the module. I want to only run A3, A5, B1, B2, C3,C4 & C5. How would I implement these settings? 
Ways that I could think of - 

1. Should these settings(tests to be run) be done from excel file. Say
the sheet has a list of all the test case(title only) & only ones
that are flagged "yes" should be executed.
2. Should these settings be configured from the testng.xml itself? If yes then how? I am aware that I can create groups & do that. But is that how is done?

The overall idea is not to touch the tests or play with the annotations to miss the tests.
If 1 is the answer then how would the excel file communicate with the Testng to tell it what test to be run & which one are not to be run? Or if there is another way(surely there would be) to acheive this.

Please provide some inputs on the issue, let me know if something is not clear.

Regards
Tahir