Question: Possible ways to refactor the code which had Java interface solely used to define lots of constants.. You can now imagine how this class is used to access these consts.

Answer: 
Seems like a good usecase for [enums](http://download.oracle.com/javase/1.5.0/docs/guide/language/enums.html). So take out the interface and replace it with an enum. Since it is a collection of constants enum fits the bill nicely. Moreover, enums are one of the [most efficient ways](http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-6623.pdf) to implement a Singleton in Java. 

Instead of duplicating answers, take a look at these good relevant questions.

* [Java Enum Singleton](https://stackoverflow.com/questions/427902/java-enum-singleton)
* [Efficient way to implement singleton pattern in Java](https://stackoverflow.com/questions/70689/efficient-way-to-implement-singleton-pattern-in-java)

Alternatively as [Pangea](https://stackoverflow.com/questions/4847994/java-refactoring-related-to-type-conversion/4848012#4848012) mentioned you can do [static imports](http://en.wikipedia.org/wiki/Static_import). I think both approaches are fine but enums in my opinion will be a better placeholder for organizing your unrelated constants in relevant meaningful groups.
You could attack the source files with a shell script that does the following:

```
 for all .java files:
   if (content matches " class ? imports Singleton {"):
      replace "imports Singleton" with "" 
      append "import static Singleton.*;\n" after package declaration

```

This is far from perfect (it just ignores cases where a class imports Singleton and other interfaces...) but it could be a practical strategy - and maybe it's OK to solve 80% with a quick script and correct the remaining 20% manually (IDE will report errors).