I want to run the login thread group always first and wait for it to finish. And then in the same test plan run other thread group in parallel.
e.g. Login-1 (always first ) Thread group-2 (after login in parallel) Thread group-3 (after login in parallel)
Take a look at setUp Thread Group, as per description:
A special type of ThreadGroup that can be utilized to perform Pre-Test Actions. The behavior of these threads is exactly like a normal Thread Group element. The difference is that these type of threads execute before the test proceeds to the executing of regular Thread Groups.
More information: How to Use the SetUp Thread Group in JMeter